
/**
 * @sUrl 文件路径
 * @IsIE 是否IE浏览器
 * QQ及IE浏览器需更改下载方式
 */

export function downloadFile(sUrl) {
  // sUrl =  window.URL.createObjectURL(new Blob(['/excel/6d58e24aae79417a8f1ae2a2147e695c.xlsx']));
  const isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1
  const isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1
  // iOS devices do not support downloading. We have to inform user about this.
  if (/(iP)/g.test(navigator.userAgent)) {
    alert('Your device does not support files downloading. Please try again in desktop browser.')
    return false
  }
  // If in Chrome or Safari - download via virtual link click
  if (isChrome || isSafari) {
    // Creating new link node.
    var link = document.createElement('a')
    link.href = sUrl

    if (link.download !== undefined) {
      // Set HTML5 download attribute. This will prevent file from opening if supported.
      var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length)
      link.download = fileName
    }
    // Dispatching click event.
    if (document.createEvent) {
      var e = document.createEvent('MouseEvents')
      e.initEvent('click', true, true)
      link.dispatchEvent(e)
      return true
    }
    link.click() // 自动点击
  }
  // Force file download (whether supported by server).
  if (sUrl.indexOf('?') === -1) {
    sUrl += '?download'
  }
  if (getBrowserInfo() === 'QQ') {
    // const { href } = this.$router.resolve({
    //     name: "donation",
    // });
    // window.open(href, '_blank');
    // return
  }
  if (isIE()) {
    var elemIF = document.createElement('iframe')
    elemIF.src = sUrl
    elemIF.style.display = 'none'
    document.body.appendChild(elemIF)
    elemIF.click()
    return
  }
  window.open(sUrl, '_self')
  return true
}
function getBrowserInfo() {
  var ua = navigator.userAgent.toLocaleLowerCase()
  var browserType = null
  var browserVersion
  if (ua.match(/msie/) != null || ua.match(/trident/) != null) {
    browserType = 'IE'
    browserVersion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1]
  } else if (ua.match(/firefox/) != null) {
    browserType = '火狐'
  } else if (ua.match(/ubrowser/) != null) {
    browserType = 'UC'
  } else if (ua.match(/opera/) != null) {
    browserType = '欧朋'
  } else if (ua.match(/bidubrowser/) != null) {
    browserType = '百度'
  } else if (ua.match(/metasr/) != null) {
    browserType = '搜狗'
  } else if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
    browserType = 'QQ'
  } else if (ua.match(/maxthon/) != null) {
    browserType = '遨游'
  } else if (ua.match(/chrome/) != null) {
    var is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')
    function _mime(option, value) {
      var mimeTypes = navigator.mimeTypes
      for (var mt in mimeTypes) {
        if (mimeTypes[mt][option] == value) {
          return true
        }
      }
      return false
    }
    if (is360) {
      browserType = '360'
    } else {
      $('html').css('zoom', '.80')
    }
  } else if (ua.match(/safari/) != null) {
    browserType = 'Safari'
  }
  return browserType
}
function isIE() {
  if (!!window.ActiveXObject || 'ActiveXObject' in window) { return true } else { return false }
}
